Computers are ubiquitous in today's world. They are used by people of all ages to perform a variety of tasks. Computers usually carry out these tasks by executing a computer application. Computer applications can be used to facilitate everything from stock purchases to instant messaging, from business accounting to video games. One type of computer application used by both businesses and individuals is a remote session application. A remote session application allows a local computer user to log in to a remote computer and run applications provided by the remote computer on the user's local computer. One example of a remote session application is MICROSOFT™ Remote Desktop. Other examples include CITRIX™ Metaframe, and the open source “rdesktop”.
Remote session applications typically run in the following manner: for example, a local computer user (client) may log in to a remote computer (server) to gain access to the applications provided by the server. The user may then be able to initiate and use any of the server-provided applications as they would if the applications were being run on the client's own computer. The applications executed by the server are represented on the client's computer by displaying bitmap images representing display renderings. The server performs periodic screen captures which provide a visual representation of the applications the client is running on the server. The server then transmits the representative bitmap images to the client computer, thus updating the client's computer with any changes to the applications running on the server.
Most applications run fairly smoothly on remote session applications. However, for some applications, the updated bitmap images are insufficient to convey all the changes that occurred between the periodic screen captures. Media players are one example of such an application.
Media players are capable of receiving media inputs such as audio files, audio streams, video files, and video streams, and outputting audio and/or visual signals representative of the media file or stream. In the case of video files or streams, media players display a series of images, along with the accompanying audio. If a media player application running on a remote server is playing a video, the media player will output multiple images per second; however, the remote server's periodic screen captures may occur at a substantially less frequent rate. The result on the client's computer is often a choppy and interrupted playback.